package com.sdy.dcsb.biz.mapper;

import com.sdy.dcsb.biz.model.EsbInboundMain;
import com.sdy.dcsb.biz.model.EsbInboundMainAndAtomservice;
import com.sdy.dcsb.biz.model.EsbInboundMainJoint;
import com.sdy.dcsb.biz.model.EsbVo;
import com.sdy.mvc.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 标准服务配置表 Mapper 接口
 * </p>
 *
 * @author fb
 * @since 2019-09-25
 */
public interface EsbInboundMainMapper extends BaseMapper<EsbInboundMain> {

    /**
     * 查询目录下的服务,分页
     * @param id
     * @param current ,当前页
     * @param size ,每页数量
     * @return
     */
    List<EsbInboundMainJoint> findSubServiceById(@Param("id") Integer id, @Param("current") Integer current, @Param("size") Integer size);

    /**
     * 查询目录下的服务总数
     * @param id
     * @return
     */
    List<EsbInboundMainJoint> findCountServiceById(@Param("id") Integer id);

    /**
     * 查询目录下的服务,分页
     * @param id
     * @param current ,当前页
     * @param size ,每页数量
     * @param name ,服务名称
     * @return
     */
    List<EsbInboundMainJoint> findSubServiceByIdName(@Param("id") Integer id, @Param("current") Integer current, @Param("size") Integer size, @Param("name") String name);

    /**
     * 查询目录下的服务总数
     * @param id
     * @param name ,服务名称
     * @return
     */
    List<EsbInboundMainJoint> findCountServiceByIdName(@Param("id") Integer id, @Param("name") String name);

    /**
     * 查询目录下的服务,分页
     * @param id
     * @param current ,当前页
     * @param size ,每页数量
     * @param code ,服务编码
     * @return
     */
    List<EsbInboundMainJoint> findSubServiceByIdCode(@Param("id") Integer id, @Param("current") Integer current, @Param("size") Integer size, @Param("code") String code);

    /**
     * 查询目录下的服务总数
     * @param id
     * @param code ,服务编码
     * @return
     */
    List<EsbInboundMainJoint> findCountServiceByIdCode(@Param("id") Integer id, @Param("code") String code);

    /**
     * 查询服务清单,分页
     * @param type ,查询类别
     * @param message ,查询值
     * @param status ,查询服务状态
     * @param current ,当前页
     * @param size ,每页数量
     * @return
     */
    List<EsbInboundMain> findServiceList(@Param("type") String type, @Param("message") String message, @Param("status") String status, @Param("current") Integer current, @Param("size") Integer size);

    /**
     * 查询服务清单总数
     * @param type ,查询类别
     * @param message ,查询值
     * @param status ,查询服务状态
     * @return
     */
    List<EsbInboundMain> findServiceListCount(@Param("type") String type, @Param("message") String message, @Param("status") String status);


    List<EsbInboundMainAndAtomservice> selectBanch(EsbVo idList);
}
